home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 006a / prmath30.zip / MANUAL.30 < prev    next >
Text File  |  1991-12-15  |  36KB  |  1,061 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                                 ProMATHeus Plus
  11.  
  12.                              The Formula Processor
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.                      This manual is intended for registered
  41.                       users only and may not be copied in
  42.                                 whole or in part.
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.                              Blarney Stone Software
  57.                              2510 Blarney Stone Lane
  58.                              Bloomington, IL 61704
  59.  
  60.  
  61.                        A Guide to ProMATHeus Plus (c) 1991
  62.  
  63. ProMATHeus Plus is a copyrighted product designed to aid you in solving simple
  64. and complicated calculations of all types.  It was created by a professional
  65. mathematician and actuary who was frustrated by the lack of affordable
  66. calculation software which avoids the pitfalls of old-fashioned calculators (and
  67. their PC-based mimics) and spreadsheets.  ProMATHeus Plus differ from other
  68. calculator software in that they work like you think--not the way the mechanics
  69. require.  Further, they differ from spreadsheets in that they do not rely on
  70. cumbersome cell-address "logic".  Features include:
  71.  
  72. - Named variables have replaced the nondescript numbered memories of calcula-
  73. tors.
  74.  
  75. - Formulas are entered easily, they are remembered, and they can interact with
  76. each other.
  77.  
  78. - Active formulas (i.e., those with variables) are reviewed constantly and
  79. partial and/or full solutions are displayed.
  80.  
  81. - Formulas can contain functions and variables with known or unknown values.
  82.  
  83. - Many common functions are preprogrammed.  A few include:
  84.  
  85.    statistical    Factorials, combinations, permutations, erf function, normal,
  86.                   inverse normal, chi-square, t distribution, F distribution,
  87.                   and gamma.  (Most inverses are included),
  88.  
  89.    logarithmic    Log (base 10), ln (base e), exponential, power,...
  90.  
  91.    trigonometric  Sin, cos, tan,..., sinh, cosh, tanh,...(and inverses)
  92.  
  93.    financial      Loans, annuities, future values...
  94.  
  95.    miscellaneous  Integer part, fractional part, square root,...
  96.  
  97. - Custom functions can be defined easily, call other functions, and simplify
  98. calculations.  They can also be: solved (by iteration) for any one of their
  99. variables, numerically integrated and numerically differentiated.
  100.  
  101. - Libraries of custom functions can be created relating to any discipline:
  102. mathematics, finance, engineering, statistics, surveying, navigation, etc.
  103.  
  104. - Up to four one-variable custom functions can be plotted with the Graph feature
  105. simultaneously.
  106.  
  107. - Entire work sessions (formulas, functions, and variables) can be saved and
  108. retrieved easily.
  109.  
  110. - The current work session is saved automatically.
  111.  
  112. ProMATHeus Plus is a powerful tool for users ranging from the beginning algebra
  113. student to the advanced engineering or scientific professional.  It shapes
  114. easily to fit the computational needs of each individual.
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121. Required Registration------------------------------------------------
  122.  
  123. Some of you reading this manual have already registered.  Thank-you!!!  Your
  124. support is greatly appreciated!  Those of you who haven't yet please read on.
  125.  
  126. After many hundreds of hours of development, ProMATHeus Plus is now being
  127. released under the shareware concept.  It is only through the registrations of
  128. honest customers that shareware authors are provided the motivation to further
  129. refine and improve their products.  Shareware allows you, the user, the chance
  130. to try a product before you buy it.  If, after trying it, you would like to
  131. continue using ProMATHeus Plus, you must register your usage with a $25 donation
  132. sent to:
  133.              Mark D. Brissman
  134.              Blarney Stone Software
  135.              2510 Blarney Stone Lane
  136.              Bloomington, IL 61704
  137.  
  138. !!! PLEASE print and use the include file "ORDER.ME" for registration !!!
  139.  
  140. We GREATLY appreciate your support!!!
  141.  
  142. Registered users will receive a full printed instruction manual with examples
  143. and formulas.  The manual explores the richness of ProMATHeus Plus and
  144. includes hints for users of all levels and abilities.  Registered users also
  145. receive notices of future releases.
  146.  
  147.  
  148. Disclaimer of Liability----------------------------------------------
  149.  
  150. No warranty or representation is made, either expressed or implied, with
  151. respect to this program or documentation, including their quality, perfor-
  152. mance, merchantability, or fitness for a particular purpose.
  153.  
  154. Blarney Stone Software has tried to assure the accuracy of ProMATHeus Plus.
  155. However, because computer programs are inherently complex and may not be
  156. completely free of errors, you are advised to verify your work.
  157.  
  158.  
  159. Copyright------------------------------------------------------------
  160.  
  161. ProMATHeus Plus is a copyrighted product.
  162.  
  163. ProMATHeus Plus is distributed under the shareware concept.  You are permit-
  164. ted to copy and distribute this product to other potential users.  All users
  165. wishing to continue use of this product must pay for that right by regis-
  166. tering with the Author (as detailed earlier).  All registered users may make
  167. backup copies.  The Program, its documentation, and included files may not be
  168. altered for redistribution for any reason without permission from Blarney
  169. Stone Software.
  170.  
  171.  
  172. Suggestions----------------------------------------------------------
  173.  
  174. The Author of these program welcomes any comments and/or suggestions.  Please
  175. send all correspondence to the address given on the first page.  If problems
  176. occur, please make a note of any messages received, save your session to a
  177. unique file, and make a backup copy of your "PROMATH.DAT" (or PMP.DAT) file.
  178. Include a diskette containing these files with your correspondence.
  179.  
  180.  
  181. Get BBS Upload Credits!!!--------------------------------------------
  182.  
  183. Most BBS's give you credits for uploading software.  Please help yourself and
  184. us by uploading the included ProMATHeus Plus ZIP file.  Also included is a
  185. sample description which you can use in BBS catalogs.  Thanks!
  186.  
  187.  
  188. ProMATHeus Plus 4.0 is in Our Future---------------------------------
  189.  
  190. As soon as we complete conversion to our new compiler and language (C++, that
  191. is), ProMATHeus, the little brother to ProMATHeus Plus will be discontinued
  192. so that we may put full efforts into ProMATHeus Plus.  That version will
  193. include many new features--be watching!
  194.  
  195.  
  196. Files Shipped with ProMATHeus Plus 3.0-------------------------------
  197.  
  198. README.1ST     Important new information.
  199.  
  200. PROMATHP.EXE   ProMATHeus Plus main file.  Just type 'promathp'.
  201.  
  202. PMP.DAT        Contains previous session data (automatically saved).
  203.  
  204. FINANCE.DAT    Example sessions.
  205. STATS.DAT
  206.  
  207. PMP.SET        Contains previous session settings (automatically saved).
  208.  
  209. AZTEC.SET      Example color settings.
  210. BLUESUIT.SET
  211. CNDYCANE.SET
  212. MONO.SET
  213.  
  214. PROMATHP.HLP   File used with the "help" key <F1>.
  215.  
  216. DEMO.SCR       Script used with demonstration facility.  Just type "demo".
  217.  
  218. ORDER.ME       Order and registration form for your printer!
  219.  
  220. PRMATH30.ZIP   Complete archive of ProMATHeus Plus 3.0 to upload to BBS's of
  221.                your choice.
  222.  
  223. DESCRIBE.BBS   Sample description to be used in BBS catalogs.                                 A Brief Tutorial
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241. Starting-------------------------------------------------------------
  242.  
  243. With the ProMATHeus Plus disk in drive A:,
  244.  
  245.    type     :    A:<enter>
  246.  
  247.    Then type:    promathp<enter>
  248.  
  249. Upon entry, ProMATHeus Plus  calls the 'PMP.DAT' file which contains the
  250. previous session which is saved each time automatically.  If you enter
  251. 'promathp filename', the previously saved session 'filename' will be loaded.
  252. If you enter 'promath 0' ProMATHeus Plus will not recall the previous session
  253. and will start with a clear screen.  Also called at entry is 'PMP.SET' which
  254. contains characteristics from you ProMATHeus Plus last session.
  255.  
  256. Note to monochrome users: After getting to the main screen, enter: 'getset
  257. mono.set' to set the screen colors to monochrome.
  258.  
  259.  
  260. Demonstration Facility-----------------------------------------------
  261.  
  262. ProMATHeus Plus 3.0 offers a simple demonstration facility for new and
  263. experienced users.  Simply type "demo" at the Input Window prompt (??) and
  264. press <Enter>.  Then, just press a key when prompted and sit back and enjoy!
  265. The demonstration will show you most of the basics and give you a taste some
  266. of its powerful features.  If you have suggestions for this facility, please
  267. let us know.
  268.  
  269. We recommend this as a good starting point.
  270.  
  271.  
  272. Saving and Recalling Session Characteristics-------------------------
  273.  
  274. The original ProMATHeus stored operational characteristics inside of each
  275. data file.  For more flexibility, ProMATHeus Plus has separate setup files
  276. which can be saved and recalled independently of data.  Generally, the
  277. characteristics in these setup files include everything except formulas,
  278. functions, and variables.    Use 'saveset filename' and 'getset filename'
  279. with file names of your choosing.  Each time you end your session, a PMP.SET
  280. file is automatically created.
  281.  
  282.  
  283. The Screen-----------------------------------------------------------
  284.  
  285. The screen consists of four main sections:
  286.  
  287. Formula window-   This section takes up the entire screen and is always show-
  288.                   ing.  It includes a listing of all formulas.
  289.  
  290. Input window-     This is the second line from the bottom.  This window auto-
  291.                   matically scrolls for long input.
  292.  
  293. Function window-  At the top left, this window lists all user-defined func-
  294.                   tions.
  295.  
  296. Variable window-  At the top right, this window lists all formula variables
  297.                   and their values.  If values are not determined,
  298.                   '--unknown--' appears.
  299.  
  300.  
  301. Message window-     Appearing on the bottom line when needed, to point out
  302.                     entry or calculation errors and miscellaneous messages.
  303.  
  304. The function and variable windows are toggled on and off by pressing the
  305. <Esc> key repeatedly.
  306.  
  307. The formula, function, and variable windows (if sufficiently long) can be
  308. scrolled with the up and down arrows.  The Function window is scrolled if the
  309. Variable window is not showing (i.e., by using the <esc> key to toggle) and
  310. vice versa.  The Formula window is scrolled in all other cases.
  311.  
  312. The formula and function windows may be scrolled horizontally using the <F4>
  313. and <F5> keys.
  314.  
  315. The bottom left corner of the border provides information on memory usage.
  316.  
  317. Screen colors may be altered by using the clr..... commands discussed later.
  318. Also, four files are supplied which have alternative color sets (file
  319. extension SET).
  320.  
  321. Several other commands are provided in 'Operational Commands' which alter the
  322. appearance and performance of ProMATHeus Plus.
  323.  
  324.  
  325. Entering Formulas----------------------------------------------------
  326.  
  327. Formulas can be entered in several forms.  The simplest is a direct calcula-
  328. tion such as:
  329.  
  330. (Input window)
  331.   ??: 2+3
  332.  
  333. After pressing <enter> ProMATHeus Plus responds:
  334.  
  335. (Formula window)
  336.    1| 2+3 --> 5
  337.  
  338. The ProMATHeus Plus response consists of several parts:
  339.  
  340.    (number)(indicator) (original expression) --> (reduced expression)
  341.  
  342. 'Number' is used for copying and deleting formulas.  As demonstrated later,
  343. the 'indicator' identifies formulas which are evaluated once (|) from those
  344. that will be re-evaluated continuously ().  The 'reduced expression' is the
  345. current value for the 'original expression' which you typed.
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361. Operators------------------------------------------------------------
  362.  
  363. Given no other operator precedence, calculations are performed left to right:
  364.  
  365. (Formula window)
  366.    1| 2*3+5 --> 11
  367.    2| 2+3*5 --> 17
  368.    3| 2*(3+5) --> 16
  369.    4| 2^3*5 --> 40
  370.    5| 2^3^2 --> 64
  371.    6| 2^(3^2) --> 512
  372.  
  373. ProMATHeus Plus offers three types of operators on values: mathematical,
  374. logical and comparison.  Descriptions follow.
  375.  
  376. Mathematical operators, in order of precedence, are:
  377.  
  378.    (  )        (including functions)
  379.  
  380.    ^           (power)
  381.  
  382.    *  /  %     (% is the mod or remainder operator)
  383.  
  384.    +  -
  385.  
  386. There are four logical operators In order of precedence:
  387.  
  388.    !           (not)
  389.  
  390.    &           (and)
  391.  
  392.    |  #        (or, exclusive or)
  393.  
  394. With logical operators, a value of 0 is false and any non-zero value is true.
  395. Logical operators return a value of either 0 or 1.  Thus
  396.  
  397.    1|0 --> 1
  398.    1&0 --> 0
  399.    5.43|0 --> 1.
  400.  
  401. In all other aspects, logical operators behave like regular ones.
  402.  
  403. Similar to logical operators are the conditional operators of:
  404.  
  405.    <    (greater than)
  406.    <=   (greater than or equal to)
  407.    >    (less than)
  408.    >=   (less than or equal to)
  409.    !=   (not equal to)
  410.    ==   (equal to--note the double equals to distinguish it from the assign-
  411.         ment equals)
  412.  
  413. These also return values of 0 or 1.  Thus, using x=3 and z=7, we can now have
  414. expressions like:
  415.  
  416.    y=(x<0)*x/3 + (z!=9)*5
  417.     =(0)*3/3 + (1)*5
  418.     =5
  419.  
  420. One construction of interest (for example, in constructing a custom function)
  421. is as follows:
  422.  
  423.    f(x)=(x<0)*sqrt(-x)+(x>=0)*sqrt(x)
  424.  
  425. It would seem that this would eliminate taking the square root of a negative
  426. number.  However, it would cause an error because the every part of a formula
  427. is evaluated whether it's needed or not!  The next "mega-function" takes care
  428. of that.
  429.  
  430.  
  431. The IF Function------------------------------------------------------
  432.  
  433. The "if" function works like the example above with the conditional operators
  434. except that it throws out the part of the formula it doesn't need!  It is of
  435. the form if(condition, if true, if false).  Thus if the condition is true,
  436. the second argument is executed, if false, the third.  Our function above
  437. would become:
  438.  
  439.    f(x)=if(x<0,sqrt(-x),sqrt(x))
  440.  
  441. Some interesting constructs are possible.  Try the following with various
  442. combinations of  a, b, and e set to 0 or 1:
  443.  
  444.    if(a,if(b,c,d),if(e,f,g))
  445.  
  446.  
  447. Entering Formulas----------------------------------------------------
  448.  
  449. Numbers may be in scientific notation:
  450.  
  451.    [sign]##.##e[sign][exponent]
  452.       2.3
  453.      -2.3
  454.       2.3e5
  455.      -2.3e-12
  456.  
  457. Any number of parentheses may be used.  The input line is limited to 200
  458. characters.  Longer equations should be split into sub-parts by using interim
  459. variables.
  460.  
  461. The constant PI may be used.  It represents 3.14159265358979.
  462.  
  463.  
  464. Variable and Function Names------------------------------------------
  465.  
  466. Names must begin with an alpha character (a-z _ A-Z) and be followed by up to
  467. nine alphanumeric characters (a-z _ A-Z 0-9).  The constant PI or operational
  468. commands cannot be used as names.
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481. Variables------------------------------------------------------------
  482.  
  483. Formulas can contain variables in place of numbers.  ProMATHeus Plus evalu-
  484. ates as much of the formula as it can and prints the result after the arrow:
  485.  
  486. (Formula window)
  487.    1 pennies+5*nickels --> pennies+5*nickels   if pennies & nickels are both
  488.                                                        unknown, or,
  489.    1 pennies+5*nickels --> 7+5*nickels         if pennies is known and equals
  490.                                                        7, or,
  491.    1 pennies+5*nickels --> pennies+15          if nickels is known and equals
  492.                                                        3, or,
  493.    1 pennies+5*nickels --> 22                   if both variables are known.
  494.  
  495. Note the symbols next to the formula numbers are  instead of |.   signifies
  496. "active" formulas with variables which will be recalculated with each press
  497. of the <enter> key.  | signifies "inactive" formulas without variables which
  498. are calculated only once.
  499.  
  500. The Variables window keeps track of all variables and their values, if known.
  501. The simplest way for a variable to become "known" is through an assignment
  502. expression as shown in the Input Window below.  Simple assignments like this
  503. do not become formulas--they simply update the value of the variable in-
  504. volved.  Variables also become "known" through assignment formulas like
  505. formulas 2 and 3 below.  Note that variables assigned to a constant expres-
  506. sion (formula 2) are evaluated only once (i.e., '|' is the indicator).  Since
  507. the Input Window reassigns "pennies" to equal 9, this value is used for
  508. "pennies" in formula 1 (which is active) and formula 2 (which is inactive) is
  509. ignored.
  510.  
  511. (Formula window)
  512.    1 pennies+5*nickels --> 9+5*nickels
  513.    2| pennies=10-3 --> pennies=7
  514.    3 rabbits=5*carrots+6 --> 5*carrots+6
  515. (Input window)
  516.    pennies=9
  517.  
  518. A variable retains its value until it is changed by another assignment
  519. expression (as in the Input window above), changed by a current assignment
  520. expression (like #3), or set to --unknown-- by the "clear" command (see
  521. Operational Commands).
  522.  
  523. A variable cannot be "clear"ed if it is defined by an active assignment
  524. expression (like #3).  However the variable (e.g., "rabbits") will automati-
  525. cally be set to --unknown-- if any of the assignment expression variables
  526. (e.g., "carrots") are --unknown--.
  527.  
  528. If two formulas are both active and define the same dependent variable, the
  529. first formula is in effect until deleted.
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541. Functions------------------------------------------------------------
  542.  
  543. Functions can be included in formulas and can either refer to internal
  544. ProMATHeus Plus functions or ones which you have created.  Internal functions
  545. are listed by pressing the <F2> key.  To use them, simply enter them in your
  546. formulas in the correct format.  For example:
  547.  
  548. (Formula window)
  549.    1 x=log(2) --> x=.301029995663981
  550.  
  551. You may input any valid expression (including variables and other functions)
  552. into a function.  Thus, the following are valid:
  553.  
  554. (Formula window)
  555.    1 y=log(2+z) --> y=1.39794000867204
  556.    2| z=19+4
  557. or
  558.    1| log(log(12)+3*log(13)) --> .645521625245258
  559.  
  560.  
  561. ProMATHeus Plus Internal Functions-----------------------------------
  562.  
  563. Logarithmic------------------------------------------------
  564.  
  565. In addition to the power operator (^), these functions are available:
  566.  
  567.    log(x)    x>0    logarithm to the base 10
  568.  
  569.    ln(x)     x>0    logarithm to the base e
  570.  
  571.    exp(x)           exponential function (e raised to the x)
  572.  
  573.  
  574. Trigonometric----------------------------------------------
  575.  
  576. The following functions are defined over their usual ranges:
  577.  
  578.    sin(x)         sine of x
  579.    cos(x)         cosine of x
  580.    tan(x)         tangent of x
  581.    asin(x)        arcsine of x
  582.    acos(x)        arccosine of x
  583.    atan(x)        arctangent of x
  584.  
  585. These functions use and return angles measured in radians.  To convert from
  586. degrees to radians use the "rad" function.  To convert from radians to
  587. degrees use the "deg" function.  Thus, to get the cosine of PI/3 radians
  588. enter "cos(PI/3)".  To get the cosine of 60 degrees (which equals PI/3
  589. radians) enter "cos(rad(60))".
  590.  
  591. The following hyperbolic functions are also included:
  592.  
  593.    sinh(x)        hyperbolic sine of x
  594.    cosh(x)        hyperbolic cosine of x
  595.    tanh(x)        hyperbolic tangent of x
  596.    asinh(x)       hyperbolic arcsine of x
  597.    acosh(x)       hyperbolic arccosine of x
  598.    atanh(x)       hyperbolic arctangent of x
  599.  
  600.  
  601. Financial--------------------------------------------------
  602.  
  603. Three functions are provided for amortization calculations:
  604.  
  605.    pmt(balance,interest,periods)      loan payment
  606.    pv(payment,interest,periods)       present value of a series of payments
  607.    fv(payment,interest,periods)       future value of a series of payments
  608.  
  609. The interest rate must be the decimal equivalent of the interest rate per
  610. period. Thus 10.2% annually with monthly payments requires either a 10.2/1200
  611. or a .0085 entry.  For example, the present value of payments of $84.99 at
  612. 10% annual interest for five years is:
  613.  
  614.    pv(84.99,10/1200,5*12) -->4000.0
  615.  
  616. HINT: Create a custom function which calls one of these functions and use the
  617. solve feature (described later) to determine other values.
  618.  
  619.  
  620. Statistical------------------------------------------------
  621.  
  622. The following combinatorial functions are provided (values must be non-
  623. negative integers):
  624.  
  625.    fact(x)     The factorial of x
  626.    comb(n,r)   The number of combinations of n things taken r at a time
  627.    perm(n,r)   The number of permutations of n things taken r at a time
  628.  
  629. Functions which estimate the following standard statistical distributions,
  630. and their inverses, are also provided:
  631.  
  632.    norm(x,mean,stdev)    Normal distribution
  633.    inorm(p,mean,stdev)   Inverse Normal distribution
  634.    chi(x,df)             Chi-Square distribution
  635.    ichi(p,df)            Inverse Chi-Square distribution
  636.    fdis(x,df1,df2)       F-distribution
  637.    ifdis(p,df1,df2)      Inverse F-distribution
  638.    tdis(x,df)            student's t-distribution
  639.    itdis(p,df)           Inverse student's t-distribution
  640.    gamma(x)              Gamma distribution [no inverse]
  641.    erf(x)                The statistical error function
  642.  
  643. In the above, 'x' is the observed value, 'p' the probability, and 'df' the
  644. degrees of freedom.
  645.  
  646.  
  647. Other------------------------------------------------------
  648.  
  649.    int(x)      Returns the integer portion of a number
  650.    abs(x)      Returns the absolute value of a number
  651.    sqrt(x)     Returns the square root of a number
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661. Custom Functions-----------------------------------------------------
  662.  
  663. Customs functions are created by naming the function, listing the function
  664. variables, and assigning a valid arithmetic expression.  For example:
  665.  
  666. (Function window)
  667.   1: f(x)=x*x-3
  668.   2: g(q)=2*q+3
  669.   3: fire(fuel,heat)=f(fuel)*3-g(4+heat)
  670.  
  671. The function definition must be of the following form:
  672.  
  673.    (function name)(function variable list)=(valid equation using function
  674.                         variables only)
  675.  
  676. The function name must be of the form defined previously.  The function
  677. variable list may include a list of up to ten function variables and is of
  678. the form:
  679.  
  680.    (var1,var2,var3,...)
  681.  
  682. These variables are used for the function definition only and are not
  683. retained as regular variables of ProMATHeus Plus.  All function variables in
  684. the equation to the right of the equal sign must be in the function variable
  685. list.   Any functions called by a function must have been already defined.
  686. With the above functions:
  687.  
  688. (Formula window)
  689.   1 fire(5,3) --> 49
  690.  
  691. If all function variables are known, a function will return the calculated
  692. value, otherwise the function is not evaluated.  Thus if a value for "cement"
  693. is supplied but not for "gravel":
  694.  
  695. (Function window)
  696.   1: concrete(cement,gravel)=cement*3+gravel*2
  697.  
  698. (Formula window)
  699.   1 concrete(cmnt,rocks) --> concrete(15,rocks)
  700.   2| cmnt=15
  701.  
  702. Functions may be changed by using the "fcopy #" command (see Operational
  703. Commands) which copies function # to the Input window for editing.  Note that
  704. even though a function is changed, values of function calls in inactive
  705. formulas (|) do not change.
  706.  
  707. Although presented only briefly, custom functions are one of ProMATHeus
  708. Plus's most important features.
  709.  
  710.  
  711. Solving Functions----------------------------------------------------
  712.  
  713. The solve operation allows you to solve any custom function for any one of
  714. its function variables, given:
  715.  
  716.    1.   Supplied values for its other function variables,
  717.    2.   The desired value which the function would normally return, and,
  718.    3.   A starting guess of the function variable which is being solved for.
  719.  
  720.  
  721. It uses an iterative technique (Newton-Raphson) which may or may not con-
  722. verge.  Convergence and the solution achieved are aided by a good starting
  723. guess for the value.  Assume a defined function 'f' which returns the value
  724. 'a':
  725.  
  726.    a = f(...,b,c,d,...)    [i.e., any number of parameters]
  727.  
  728. If all other function variables are known (including 'b' and 'd'), then an
  729. estimate of 'c' would be entered as:
  730.  
  731.    estimate of c  = f(...,b,{desired a , guess of c},d,...).
  732.  
  733. That is, the value of 'c' is replaced by two numbers in braces--the desired
  734. outcome and a first guess.
  735.  
  736.    Thus if   f(s,t)=s*s+t,
  737.    then      f(3,5) --> 14,
  738.    and       f({14,1},5) --> 3.
  739.  
  740. If difficulties are encountered, try different starting guesses for the
  741. value.  Also, by entering "solvedif #", the difference used in the iteration
  742. process (specifically, the derivative calculation) will be set to '#'
  743. (default: 1e-7).  Further, by entering "iterations #" the maximum number of
  744. iterations used to solve the function will be set to "#" (default: 50).
  745.  
  746.  
  747. Calculus and Custom Functions----------------------------------------
  748.  
  749. Custom functions can be integrated over a range or differentiated at a point
  750. through numeric approximation.
  751.  
  752. The intg(fn#,begx,endx) function will integrate custom function fn# using a
  753. Simpson's rule type of approach, if possible.  You can control the number of
  754. intervals it uses with the 'intgnum #' command.  The default is 50.  The
  755. lower the number the faster, the higher the more accurate, within some
  756. limits.
  757.  
  758. The der(fn#,x) function takes the slope or derivative of custom function fn#
  759. at the point x.  You can control the increment it uses in this calculation
  760. with the 'solvedif #' command.  (This is the same as is used in the Solve
  761. feature of ProMATHeus Plus.)  The default is 1e-7.  Because of the inherent
  762. problems of truncation and roundoff errors, you may want to experiment with
  763. different values of solvedif.
  764.  
  765.  
  766. Multi-Function Graphing of Custom Functions
  767.  
  768. To graph in ProMATHeus Plus 3.0, simply type "graph" and answer the questions
  769. in the Graphing Window.  All numbers must be separated by commas.  Previous
  770. responses may be given in parentheses and are re-used by pressing <Enter>.
  771. Questions:
  772.  
  773. 1.   Functions (4 max):  Enter up to four one-variable function numbers.  The
  774.      calculation time required for graphing increases proportionately to the
  775.      number of functions requested.
  776.  
  777. 2.   X range:  Enter the beginning and ending horizontal axis values, which
  778.      must differ.
  779.  
  780.  
  781. 3.   Automatic Y range ([y] or n)?:  Choosing "y" uses the entire vertical
  782.      screen to show the graphs (showing the max and min values of all
  783.      graphs).  Be wary if your functions approach infinity!  Choosing "n"
  784.      allows you to select your own vertical axis.
  785.  
  786. [If 3='y']
  787. 4a.  Square X and Y intervals (y or [n])?:  Choosing "y" creates X and Y
  788.      units of equal length on the screen.  The graph is centered on the max
  789.      and min Y values.
  790.  
  791. [If 3='n']
  792. 4b.  Y range:  Enter the beginning and ending vertical axis values, which
  793.      must differ.
  794.  
  795. 5.   Color ([y] or n)?:  Choosing 'n' is usually best for printing the
  796.      graphs.
  797.  
  798. 6.   Grid (<h>oriz, <v>ert, <b>oth, or [n]one)?:  Allows the inclusion of
  799.      grid lines on the graph.
  800.  
  801. Once graphed, pressing "z" or "Z" zooms the graph in or out.  Pressing
  802. <Enter> returns to the main ProMATHeus Plus windows.  If your printer is
  803. compatible with the DOS "graphics" command, you can print the graphs by
  804. pressing <Shift><Print Screen>.  Please see your DOS manual for details.
  805.  
  806. Note: Two commands control video graphics mode (graphon #) and video text
  807. mode (graphoff #).  These are generally set at zero which is the automatic
  808. mode.  Some computers will require different modes.  For example, some VGA
  809. monitors require that "graphoff" be set to 768.  Appendix A may provide some
  810. assistance in this regard.  If you have difficulties, register users may
  811. contact Blarney Stone Software.
  812.  
  813.  
  814. Operational Commands-------------------------------------------------
  815.  
  816. The following commands may also be entered at the ??: prompt:
  817.  
  818.   restart           Erase all functions, variables, and formulas.
  819.  
  820.   quit              Save the current session to automatic file and end
  821.                     ProMATHeus Plus.
  822.  
  823.   nosave            Quit ProMATHeus Plus without updating the automatic file.
  824.  
  825.  
  826.   save <filename>   Save current session (formulas, functions, and variables)
  827.                     to <filename>.  <filename> must be a valid DOS file name
  828.                     and may include a path.
  829.  
  830.   get <filename>    Retrieve a session from <filename>.  <filename> must be a
  831.                     valid DOS file name and may include a path.
  832.  
  833.   saveset
  834.     <filename>      Save current session characteristics to <filename>.
  835.                     <filename> must be a valid DOS file name and may include
  836.                     a path.
  837.   getset
  838.     <filename>      Retrieve current session characteristics to <filename>.
  839.                     <filename> must be a valid DOS file name and may include
  840.                     a path.
  841.  
  842.   del # #-# #       Delete a list or range of equations: "del 1 5-8 10" would
  843.                     delete equations 1, 5, 6, 7, 8, and 10.
  844.  
  845.   fdel # # #        Delete a list of functions.  Only functions which are not
  846.                     included in any formula are deleted.  (Because functions
  847.                     are saved without order for speed, there is no range de-
  848.                     lete.)
  849.  
  850.   clear var var     Clear a list of variables to --unknown--.  Only variables
  851.                     which are not assigned in an active formula are affected.
  852.                     If no variable list is given, all qualifying variables
  853.                     are cleared.
  854.  
  855.   erase var var     Erase a list of variables.  Only variables which are not
  856.                     included in any formula are affected.  If no variable
  857.                     list is given, all qualifying variables are affected.
  858.  
  859.   <esc>             Toggles Function and Variable display windows.
  860.  
  861.   <up>, <down>      Scrolls the active window up or down.
  862.   <F4>, <F5>        Scrolls the active window left or right.
  863.  
  864.                     The active window is the Function window if the Variable
  865.                     window is not showing, and vice versa.  The active window
  866.                     is the Formula window in all other cases.
  867.  
  868.   <F1>              Help window.
  869.  
  870.   <F2>              Displays the internal functions window.
  871.  
  872.   <F3>              Displays system operation parameters.
  873.  
  874.   <F10>             Print a report of all formulas, functions, and variables.
  875.  
  876.   copy #            Copies formula # for editing and creation of a new formu-
  877.                     la.  The original formula # is not changed.  If both
  878.                     formulas define the same dependent variable, the first
  879.                     usually needs to be deleted.
  880.  
  881.   fcopy #           Copies function # for editing.  If the function name re-
  882.                     mains the same, you are asked if you want to replace the
  883.                     old function.
  884.  
  885.   clr....f #        Changes foreground color to #.  # may be 0 to 15.
  886.   clr....b #        Changes background color to #.  # may be 0 to 7.
  887.  
  888.                     '....' is replaced with 'form' (formula window), 'func'
  889.                     (function window), 'vari' (variable window), 'inpu'
  890.                     (input line), or 'mess' (message windows).
  891.  
  892.   clrboard #        Changes boarder color to #.  # may be 0 to 15.
  893.  
  894.   graphon #         Sets the graphics mode to # (0 = automatic).
  895.   graphoff #        Sets the text mode to # (0 = automatic).
  896.  
  897.                     Generally, you will not have to adjust these values.
  898.                     However some setups may require different values.  See
  899.                     Appendix A or your screen/video card specifications.
  900.  
  901.   iterations #      Sets the maximum number of iterations to # for custom
  902.                     function 'Solve'.
  903.  
  904.   solvedif #        Sets the incremental difference used to calculate the
  905.                     derivative for the 'Solve' command.
  906.  
  907.   fix #             Sets the numeric format to FIXED with # decimals.
  908.  
  909.   sci #             Sets the numeric format to SCIENTIFIC with # decimals.
  910.  
  911.  
  912. Formula, Function, and Variable Order--------------------------------
  913.  
  914. ProMATHeus Plus was designed to balance speed, memory usage, and ease of use.
  915. If the same variable is defined by two different formulas, the result is
  916. order dependent in the following manner:
  917.  
  918.    If the first assignment was in a inactive formula--the latter assignment of
  919.    the same variable supersedes the first.
  920.  
  921.    Otherwise, the second assignment is ignored until the first is deleted.
  922.  
  923. Formulas are listed and numbered in order of their entry.  For speed, it is
  924. more efficient to not restrict functions and variables to any order.  Thus,
  925. they are placed in the first available space in their lists.  In fact,
  926. deleted function numbers (using "fdel") are only replaced when new functions
  927. are entered.  The same is true for the order of variables in the Variable
  928. Screen.
  929.  
  930.  
  931. Circularity----------------------------------------------------------
  932.  
  933. Circularity occurs when a formula or function calls itself, possibly through
  934. a long chain.  ProMATHeus Plus does not allow circularity within functions as
  935. it would cause an infinite loop.  Formulas are allowed to be circular as it
  936. might be required temporarily with some editing tasks.  Generally, ProMATHeus
  937. Plus will return no values for any formulas which contain circularity.  In
  938. most cases, you would want to delete formulas which create circularity.
  939.  
  940.  
  941. Error Messages-------------------------------------------------------
  942.  
  943. ProMATHeus Plus displays a number of error messages.  Calculation errors are
  944. indicated in the "reduced expression" portion of a formula listing.  Opera-
  945. tional error messages are listed at the bottom of the screen and begin with
  946. two numbers: the first is an internal code for Blarney Stone Software's use
  947. and the second identifies, if possible, the formula where the error occurred.
  948. ProMATHeus Plus detects many input errors and makes you correct them before
  949. proceeding.
  950.  
  951.  
  952. Sample Sessions------------------------------------------------------
  953.  
  954. FINANCE.DAT and STATS.DAT are provided as short examples of the power of
  955. ProMATHeus Plus's custom functions.  The first includes loan analysis
  956. functions for determining the difference in total interest between a 15 and
  957. 30 year mortgage.  The second shows the development of the binomial and
  958. poisson distributions.  You may retrieve them using the 'get' command de-
  959. scribed previously.
  960.  
  961. Problems-------------------------------------------------------------
  962.  
  963. With a free-form entry system like ProMATHeus Plus, occasionally what you
  964. enter may confuse ProMATHeus Plus as to what you intend.  Generally error
  965. messages will alleviate this problem.  If not, review what has been entered
  966. earlier and try deleting offending formulas or functions.  Check for circu-
  967. larity.  Try saving what you have to a new .dat file and end with 'nosave'.
  968. Restarting, you will get the original promath.dat file and should be where
  969. you started.  If you feel you have identified a true bug, please contact us
  970. as provided earlier.
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.                                   Appendix A
  1022.  
  1023.                                  Screen Modes
  1024.  
  1025. If the default automatic modes of 0 do not produce desired results when
  1026. graphing, you may want to experiment with other screen modes.  This might
  1027. require a value which is the sum of the appropriate factors below.
  1028.  
  1029.         Display   Card
  1030.  
  1031. mono      1        256
  1032. color     2        512
  1033. EGA       4       1024
  1034. VGA       8       2048
  1035. Hercules          4096
  1036.  
  1037. Modes---------------------
  1038.  
  1039. Bl/Wt 40 text  32768
  1040. Color 40 text  32769  or   256
  1041.  
  1042. Bl/Wt 80 text  32770  or   512
  1043. Color 80 text  32769  or   768
  1044.  
  1045. Graphics       32770  or  1024
  1046. Med res color  32770  or  1024
  1047. Med res Bl/Wt  32771  or  1280
  1048. High res Bl/Wt 32772  or  1536
  1049.  
  1050. Mono text      32773  or  1792
  1051. Hercules text  32774  or  2048
  1052. Hercules GFX   32775  or  2304
  1053.  
  1054. EGA med res    32781  or  3328
  1055. EGA high res   32782  or  3584
  1056. EGA mono       32783  or  3840
  1057. EGA color      32784  or  4096
  1058.  
  1059. VGA mono       32785  or  4352
  1060. VGA color      32786  or  4608
  1061.